#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <ctype.h>
#include <stdlib.h>

//char* fufu(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	char s[256] = { 0 };
//	strcpy(s, str1);//s = AABCD
//	strcat(s, str1);//s = AABCDAABCD
//	char* p = strstr(s, str2);
//	return p;
//}
//int main()
//{
//	char* p = fufu("AABCD", "CDAA");
//	if (p != NULL)
//	{
//		printf("%s", p);
//	}
//	return 0;
//}

//int fufu(int arr[][4], int x, int y, size_t num)
//{
//	int i = 0;
//	int j = y - 1;
//	while (j >= 0 && i < x)
//	{
//		if (arr[i][j] > num)
//		{
//			j--;
//		}
//		else if (arr[i][j] < num)
//		{
//			i++;
//		}
//		else
//		{
//			return 1;
//		}
//	}
//	return 0;
//}
//int main()
//{
//	int arr[4][4] = { {1,2,3,4},{4,5,6,7},{7,8,9,10},{11,12,13,14} };
//	int ret = fufu(arr, 4, 4, 16);
//	printf("%d\n", ret);
//	return 0;
//}

//void fufu()
//{
//	
//	for (char fufu1 = 'a'; fufu1 <= 'd'; fufu1++)
//	{
//		if ((fufu1 != 'a')+(fufu1 == 'c')+(fufu1 == 'd')+(fufu1 != 'd') ==3)
//		{
//			printf("%c\n", fufu1);
//		}
//	}
//}
//int main()
//{
//	fufu();
//	return 0;
//}

void fufu1(int arr[][4], int n)
{
	int i = 0;
	for (i = 0; i < n; i++)
	{
		int j = 0;
		for (j = 0; j < n; j++)
		{
			if (j == 0)
			{
				arr[i][j] = 1;
			}
			else if (i == j)
			{
				arr[i][j] = 1;
			}
			else
			{
				arr[i][j] = arr[i-1][j] + arr[i-1][j - 1];
			}
		}
	}
}
void fufu2(int arr[][4], int n)
{
	int i = 0;
	for (i = 0; i < n; i++)
	{
		int j = 0;
		for (j = 0;j <= j; j++)
		{
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}
}
int main()
{
	int arr[4][4] = { 0 };
	fufu1(arr,4);
	fufu2(arr,4);
	return 0;
}